package org.yzhzc.friend.aspect;

import java.lang.annotation.*;

/**
 * 用户状态检查注解。
 * 该注解用于标记需要进行用户状态检查的类或方法。
 * 通常用于在方法执行前检查用户是否处于合法状态（如是否登录、是否被禁用等）。
 *
 * 使用场景：
 * - 在控制器方法上添加此注解，确保只有合法用户才能访问特定接口。
 * - 在服务层方法上添加此注解，确保业务逻辑执行前用户状态合法。
 *
 * 注解目标：
 * - 可以标注在类上，表示该类中的所有方法都需要进行用户状态检查。
 * - 可以标注在方法上，表示该方法需要进行用户状态检查。
 *
 * 保留策略：
 * - 运行时保留，便于通过反射机制读取注解信息。
 *
 * 示例：
 * <pre>
 * {@code
 * @CheckUserStatus
 * public void someMethod() {
 *     // 方法逻辑
 * }
 * }
 * </pre>
 */
@Target({ElementType.TYPE, ElementType.METHOD}) // 注解可以标注在类和方法上
@Retention(RetentionPolicy.RUNTIME) // 注解在运行时保留
@Documented // 注解信息包含在 Javadoc 中
public @interface CheckUserStatus {
}